package com.origin.chaos.chat.bean;

import com.alibaba.fastjson.JSONObject;
import com.origin.chaos.security.bean.entity.User;
import lombok.Data;

/**
 * @author: tao.ding
 * @date 2021-08-17
 */
@Data
public class ChaosMessage {
    /**
     * 消息发送者ID
     * {@link User#getId()}
     */
    private long userId;

    /**
     * 用户昵称
     */
    private String nickName;

    /**
     * 消息内容
     */
    private String message;

    /**
     * 发送的时间戳
     */
    private long timestamp;

    /**
     * 根据redis中存放的消息字符串来构造消息对象
     *
     * @param str
     * @return
     */
    public static ChaosMessage ofRedisStr(String str) {
        return JSONObject.parseObject(str, ChaosMessage.class);
    }

    /**
     * 转化为redis字符串
     *
     * @return
     */
    public String toRedisStr() {
        return JSONObject.toJSONString(this);
    }
}
